The advent of computer networks has proliferated the use of distributed-computing environments. A distributed-computing environment is a type of computing wherein several computer platforms, i.e. different computers, coupled by a network, perform separate but related tasks, (called a process), that are directed in concert toward a single achievement. One example of such a process is the retrieval of all files in a network having the same pattern of letters in the file name. By taking advantage of the computing power of several computers at once, tasks require less time for completion. Use of a processor close to resources to be processed reduces total computing resource requirements.
One method known in the art for practicing a distributed-computing environment is called “remote programming.” In remote programming, a first executing program, called a client process, executing on a first computer system, sends to a second process, called a server process executing on the second computer system, a list of instructions. The instructions are then carried out on the second computer system by the server process, effectuating the goal of the client process. The instructions which the server process is designed to carry out must have some degree of generality, i,e., the instructions must allow some degree of local decision-making with respect to details.
U.S. Pat. No. 6,016,393 to White et al., entitled, “System and Method for Distributed Computation Based upon the Movement, Execution, and Interaction of Processes in a Network”, which is hereby incorporated by reference, discloses a system that improves upon the concept of remote programming by utilizing processes called mobile agents (sometimes referred to as mobile objects or agent objects). The system described by White et al., provides the ability for an object (the mobile agent object), existing on a first (“host”) computer system, to transplant itself to a second (“remote host”) computer system while preserving its current execution state. The operation of a mobile agent object is described briefly below.
The instructions of the mobile agent object, its preserved execution state, and other objects owned by the mobile agent object are packaged, or “encoded”, to generate a string of data that is configured so that the string of data can be transported by all standard means of communication over a computer network. Once transported to the remote host, the string of data is decoded to generate a computer process, still called the mobile agent object, within the remote host system. The decoded mobile agent object includes those objects encoded as described above and remains in its preserved execution state. The remote host computer system resumes execution of the mobile agent object which is now operating in the remote host environment.
While now operating in the new environment, the instructions of the mobile agent object are executed by the remote host to perform operations of any complexity, including defining, creating, and manipulating data objects and interacting with other remote host computer objects. Since mobile agent objects are known in the prior art, they will not be discussed further herein.
Computer systems are often used to send and receive messages between a sender and a receiver. Examples of computer systems or platforms that facilitate the communication of messages include electronic mail via POP3 e-mail accounts, voice-mail over wireless networks, text messaging between two personal computer platforms, and many others. Messages on computer networks are often delivered to users via multiple unrelated communications channels, and often to different destination locations that can only be accessed locally by the user, Furthermore, each destination can typically only be accessed one at a time. Additionally, the messages that are sent to the user may not be messages the user wishes to receive, such as spam email. An automated method and system for the filtration, collection, and consolidation of important messages from different destination points is desirable.
One such system is described in U.S. Pat. No. 6,389.457 to Lazaridis et al., entitled “System and Method for Pushing Information From a Host System to a Mobile Data Communication Device” which is incorporated by reference.
The system described by Lazaridis et al., involves placing a “redirector program” on a host machine (“collection host”) that is configurable by a user. Messages to the user are pushed to a user's mobile device by the redirector program based on user-defined event triggers set up within the redirector program. An event can be any exceptional occurrence within the collection host. Furthermore, whether a message is pushed to the user's mobile device or ignored can be a function of the message type, message contents, and anyone of a number of preset filters available to the redirector program.
Although this system provides the user the ability to filter messages, the ability to filter is limited to what filters are available to the redirector program. Furthermore, the system of Lazaridis et al. does not disclose a method for filtration of the messages at the message source platform and the subsequent redirection and delivery of the filtered messages other than conventional e-mail methods such as POP3. That is, all messages are sent to a single host platform prior to being filtered for parameters, such as content, time and date stamp, etc. By not filtering unwanted messages at the source of the message, unnecessary traffic is placed on a computer network prior to filtration.